<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of xml
 *
 * @author root
 */
class Funcoes {
    
    
    public function verificarDiretorios() {
                    
        $ano = date('Y');
        $mes = date('m');
        $dia = date('d');
        
        $list = array($ano,$mes,$dia);
        
        $estrutura = '';
        
        foreach($list as $l){ 
            
            $estrutura .= $l.'/';
            
            $arq_xml = 'arquivos/xml/' . $estrutura;
            $arq_xml_env = 'arquivos/xml_env/' . $estrutura;
            $arq_xml_err = 'arquivos/xml_err/' . $estrutura;
            $arq_xml_rtn = 'arquivos/xml_rtn/' . $estrutura;
            $arq_xml_sta = 'arquivos/xml_sta/' . $estrutura;
            
            if(!is_dir($arq_xml)) mkdir($arq_xml, 0777);
            if(!is_dir($arq_xml_env)) mkdir($arq_xml_env, 0777);
            if(!is_dir($arq_xml_err)) mkdir($arq_xml_err, 0777);
            if(!is_dir($arq_xml_rtn)) mkdir($arq_xml_rtn, 0777);
            if(!is_dir($arq_xml_sta)) mkdir($arq_xml_sta, 0777);    
        }
        
                
        return $estrutura;

    }
    
    public function gerarNomeArquivo($sequencialTransacao,$hash) {
        
        $guia_nome = $sequencialTransacao;
        
        if(strlen($guia_nome) < 20)
	{
            while(strlen($guia_nome) < 20)
            {
                $guia_nome .= '0'.$guia_nome;
            }
	}
        
	$guia_nome .= '_'.$hash.'.xml';
        
        return $guia_nome;
    }
    
    public function substituiTabProc($tab){
        
        $op = array(
            '22' => '00',
            '18' => '01',
            '19' => '02',
            '20' => '03',
        );
        
        return $tab;//$op[$tab];
    }
    
    static function setChaveProrrogacao($tisint_num,$tisintprr_num){
        
        $chave = $tisint_num . $tisintprr_num;
        
        return $chave;
    }
    
    static function getChaveProrrogacao($chave,$tisint_num){
        
        $tisint_num = substr($chave, 0, strlen($tisint_num));
        
        return $tisint_num;
    }
	
	static function correcaoTpoAcoProrrogacao($bd_ingres,$tisint_num,$tisintprr_num){
        
		$query_up = '';
		$tisintprr_tpo_aco_aut = 0;

		$query = "SELECT tisintprr_tpo_aco_aut, p.tisintprr_dat
                    FROM tisintprr p, tisint t 
                    WHERE p.tisint_num = t.tisint_num 
                    AND t.tisint_num = " . $tisint_num . " 
					AND p.tisintprr_num = ". $tisintprr_num;  
		$row = odbc_exec($bd_ingres, $query);   
		while(odbc_fetch_row($row)){ 
			$tisintprr_tpo_aco_aut = (int) trim(odbc_result($row, 'tisintprr_tpo_aco_aut'));
			
			if($tisintprr_tpo_aco_aut == 2 || $tisintprr_tpo_aco_aut == 7){
				$tisintprr_tpo_aco_aut = 13;
				$query_up = "UPDATE tisintprr SET tisintprr_tpo_aco_aut = '".$tisintprr_tpo_aco_aut."', tisintprr_des_aco = 'APARTAMENTO STANDARD' WHERE tisint_num = ". $tisint_num. " AND tisintprr_num = ".$tisintprr_num;
			}
			
			if($tisintprr_tpo_aco_aut == 1){
				$tisintprr_tpo_aco_aut = 41;
				$query_up = "UPDATE tisintprr SET tisintprr_tpo_aco_aut = '".$tisintprr_tpo_aco_aut."', tisintprr_des_aco = 'QUARTO COLETIVO (2 LEITOS)' WHERE tisint_num = ". $tisint_num. " AND tisintprr_num = ".$tisintprr_num;
			}
			
			if($tisintprr_tpo_aco_aut == 3){
				$tisintprr_tpo_aco_aut = 51;
				$query_up = "UPDATE tisintprr SET tisintprr_tpo_aco_aut = '".$tisintprr_tpo_aco_aut."', tisintprr_des_aco = 'UTI ADULTO ' WHERE tisint_num = ". $tisint_num. " AND tisintprr_num = ".$tisintprr_num;
			}
			
			if($query_up > ''){
				echo $query_up.'<br>';
				$update = odbc_exec($bd_ingres, $query_up);
				$commit = odbc_commit($bd_ingres);
			}
			
		}
										
	    return $tisintprr_tpo_aco_aut;
      
	}
	
	static function emailError($msg_erro){
		
		require_once "class.smtp.php";
		require_once "class.phpmailer.php"; 

		// Inicia a classe PHPMailer
		$mail = new PHPMailer();

		// Define os dados do servidor e tipo de conex�o
		// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
		$mail->IsSMTP(); // Define que a mensagem ser� SMTP
		$mail->Host = "smtp.hsvp.com.br"; // Endere�o do servidor SMTP
		$mail->SMTPAuth = true; // Usa autentica��o SMTP? (opcional)
		$mail->Username = 'alencar@hsvp.com.br'; // Usu�rio do servidor SMTP
		$mail->Password = 'alenkar010'; // Senha do servidor SMTP
		$mail->Port = 587;
		
		// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
		$mail->From = "alencar@hsvp.com.br"; // Seu e-mail
		$mail->FromName = 'ERRO SERVIDOR SERVDB2'; // Seu nome 
		// Define os destinat�rio(s)
		// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
		//$mail->AddAddress('alencar.k@gmail.com'); 
		
		 if(EMAIL_1 > '') $mail->AddAddress(EMAIL_1);
		 if(EMAIL_2 > '') $mail->AddAddress(EMAIL_2);
		 if(EMAIL_3 > '') $mail->AddAddress(EMAIL_3);
		 if(EMAIL_4 > '') $mail->AddAddress(EMAIL_4);
		 
		

		// Define os dados t�cnicos da Mensagem
		// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
		$mail->IsHTML(true); // Define que o e-mail ser� enviado como HTML
		$mail->CharSet = 'utf-8';//'iso-8859-1'; // Charset da mensagem (opcional)
		// Define a mensagem (Texto e Assunto)
		// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
		$mail->Subject = 'ERRO SERVIDOR SERVDB2';// "Mensagem Teste"; // Assunto da mensagem
		$mail->Body = '<p>'.$msg_erro.'</p>'; // "Este � o corpo da mensagem de teste, em HTML!";
		//$mail->AltBody = "Este � o corpo da mensagem de teste, em Texto Plano!";
		// Define os anexos (opcional)
		// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
		//$mail->AddAttachment("c:/temp/documento.pdf", "novo_nome.pdf");  // Insere um anexo
		// Envia o e-mail
		$enviado = $mail->Send();

		if ($enviado) {
			//echo "E-mail enviado com sucesso!";
		} else {
			//echo "N�o foi poss�vel enviar o e-mail.<br /><br />";
			//echo $mail->ErrorInfo;
		}
		
		// Limpa os destinat�rios e os anexos
		$mail->ClearAllRecipients();
		$mail->ClearAttachments();
	}
        
        public static function amd_dma($date) {
            if (empty($date)) return FALSE;
            list($aaaa, $mm, $dd) = explode('-', $date);
            return "$dd/$mm/$aaaa";
        }
    
        public static function invertDH_D($datetime, $check = FALSE) {
            if ($check) if (!self::check($datetime)) return FALSE;

            $datetime = explode(' ', $datetime);

            $date = $datetime[0];
            $time = $datetime[1];

            if (strpos($date, '-')) {
                return self::amd_dma($date);
            } elseif(strpos($date, '/')) {
                return self::amd_dma($date);
            }
        }
	
    
}

?>
